The present invention relates generally to error detection in data processing systems and more particularly to the detection of loss of the synchronization of data being protected by cyclic redundancy checking codes.
Data is frequently protected by a Fire Code to correct bursts of errors and by a back-up code for pure error detection and to insure against mistaken corrections by the Fire Code. For example, data stored on commercially available magnetic disks are commonly protected by Fire Codes which can correct bursts of up to eleven (11) bits or less. Back-up codes are also used for pure error detection and to prevent mistaken corrections by the Fire Code.
In order to facilitate synchronization, every sector on the disks is sometimes preceded by a set of framing bits which may comprise, for example, a string of zeroes and four ones. A media defect occurring in the area of the framing bits can cause the disk-reading circuitry to "see" one or more extra ones. This has the same effect as one or more right shifts of the data and check-bit fields comprising the sector.
Both check codes are based on cyclic codes. In a cyclic code an end-around shift, right or left, always produces another code vector; that is, a vector which is seen by the error-protection logic as an error-free vector. Because of this property, a loss of synchronization on a disk can have the undesirable result that the data error caused by a right shift is corrected (mistakenly) by the Fire Code, and this mistaken correction is not detected by the back-up code. Another possible undesirable result, which is more unlikely than the first, is a left shift.
It is an object of the present invention to assure detection of loss of synchronization of data protected by cyclic check codes.
It is another object of the present invention to assure detection of loss of synchronization of data with minimum hardware and software additions and modifications to existing systems having vulnerability to synchronization loss, and without requiring any increase in the amount of stored or transmitted data.